package design_pattern.singleton;

/**
 * 懒汉式单例模式
 * 
 * @author Administrator
 * 
 */
public class LazySingleton {

  // 静态但没有标识为final的变量
  private static LazySingleton lazy = null;

  // 一样是私有的构造方法
  private LazySingleton() {}

  // 返回变量时增加判断
  public static LazySingleton getInstance() {
    if (lazy == null)
      synchronized (lazy) {
        if (lazy == null)
          lazy = new LazySingleton();
      }
    return lazy;
  }

  /**
   * @param args
   */
  public static void main(String[] args) {

  }

}
